﻿using NicoView.Model.Service.Comments;
using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NicoViewUnit_Test
{
    [TestFixture]
    public class NicoViewSendCommentConversions
    {
        [TestCase("死ね","ﾀ,ﾋね")]
        [TestCase("fuck","fu,ck")]
        [TestCase("ファック","ファ,ック")]
        [TestCase("バイブ","バイ,ブ")]
        [TestCase("Fuck","Fu,ck")]
        [TestCase("ちんこ","ち,んこ")]
        [TestCase("パチンコ","パチ,ンコ")]
        [TestCase("セックス","セ,ックス")]
        [TestCase("sex","s,ex")]
        [TestCase("アナル","アナ,ル")]
        [TestCase("処女作","処,女作")]
        [TestCase("マンコ","マ,ンコ")]
        [TestCase("体位測定","体,位測定")]
        [TestCase("パンツ","パ,ンツ")]
        [TestCase("スレイプニル","スレイ,プニル")]
        [TestCase("カフェラテ","カフェ,ラテ")]
        [TestCase("フェラーリ","フェ,ラーリ")]
        [TestCase("ガブスレイ","ガブ,スレイ")]
        [TestCase("カスタード","カ,スタード")]
        public void ConversionTest(string text, string extpected)
        {
            var conversion = new SubmitCommentConversions();
            conversion.AddDefaultCase();
            var comment = new NicoSendComment() { Body = text };
           
            conversion.Convert(comment);
            Assert.AreEqual(extpected, comment.Body);
        }

        [TestCase("ガイブ")]
        [TestCase("レイプ")]
        [TestCase("フェラ")]
        [TestCase("処女")]
        public void NotConversionTest(string text)
        {
            var conversion = new SubmitCommentConversions();
            conversion.AddDefaultCase();
            var comment = new NicoSendComment() { Body = text };

            conversion.Convert(comment);

            Assert.AreEqual(text, comment.Body);
        }
    }
}
